import React, { Component} from 'react';
// 1.简单的网络请求
fetch('https://mywebsite.com/mydata.json')
// 2. 定制的网络请求
fetch('https://mywebsite.com/mydata.json', {
    method: 'POST',
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        firstParam: 'yourValue',
        secondParam: 'yourOtherValue'
    })
})
// 3. 表单提交
fetch('https://mywebsite.com/endpoint/', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    body: 'key1=value1&key2=value2'
})
// 4. 处理服务器的响应数据
function getMoviesFromApiAsync() {
    return fetch('https://facebook.github.io/react-native/movies.json')
        .then((response) => response.json())
        .then((responseJson) => {
            return responseJson.movies;
        })
        .catch((error) => {
            console.error(error);
        });
}
// 5. React Native中的async / await 语法
// async getMoviesFromApi() {
//     try {
//         // 注意await，其所在的函数必须使用async关键字声明
//         let response = await fetch('https://facebook.github.io/react-native/movies.json');
//         let responseJson = await response.json();
//         return responseJson.movies;
//     } catch (error) {
//         console.error(error);
//     }
// }
// 6.WebSocket支持
var ws = new WebSocket('ws://host.com/path');
// 打开一个连接
ws.onopen = () => {
    // 发送一条消息
    ws.send('something')
};
// 接收到一条消息
ws.onmessage = (e) => {
    console.log(e.data);
};
// 发生了一个错误
ws.onerror = (e) => {
    console.log(e.message);
};
// 关闭连接
ws.onclose = (e) => {
    console.log(e.code, e.reason);
}
